#define _CRT_SECURE_NO_WARNINGS

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <assert.h>
#include <math.h>


//int main()
//{
//	int n = 0;
//	int ret = 0;
//	scanf("%d", &n);
//	for (int i = n; i > 0; i /= 10)
//	{
//		ret = i % 10;
//		printf("%c", ret + 48);
//	}
//	if (n == 0)
//	{
//		printf("%c", n + 48);
//	}
//	return 0;
//}



int main()
{
	char arr[10001] = { 0 };
	int row = 0;
	while (gets(arr) > 0)
	{
		char* ptr = arr;
		char* word[1000] = { NULL };
		while (*ptr != '\0')
		{
			if ((*ptr <= 'Z' && *ptr >= 'A') || (*ptr <= 'z' && *ptr >= 'a'))
			{
				word[row++] = ptr;
				while ((*ptr != ' ') && (*ptr <= 'Z' && *ptr >= 'A') || (*ptr <= 'z' && *ptr >= 'a'))
				{
					ptr++;
				}
				continue;
			}
			*ptr = ' ';
			ptr++;
		}
		for (int i = row - 1; i >= 0; i--)
		{
			printf("%s ", word[i]);
		}
		return 0;
	}
}